/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.reporte.accion;

import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import org.reporte.control.AbstractFacade;
import org.reporte.control.Conexion;
import org.reporte.modelo.DatoReporte;

/**
 *
 * @author 43579648
 */
@ManagedBean
@ViewScoped
public class DatosReporteManejador extends AbstractFacade<DatoReporte> {

    private List<DatoReporte> listaDatoReporte;
    private boolean datosExternos;
    private boolean nuevaEntidad;

    
    
    /** Creates a new instance of DatoReporteManejador */
    public DatosReporteManejador() {
        super(DatoReporte.class);
    }

    @Override
    protected EntityManager getEntityManager() {
        return Conexion.getEntityManagerPool();
    }
    

    public List<DatoReporte> getListaDatoReporte() {
        if(!isDatosExternos()){
            listaDatoReporte = this.findAll();
        }
        return listaDatoReporte;
    }
    
    
    public DatoReporte obtenerDatoReportePorIdentificadorGenerador(Long identificadorGenerador){
        DatoReporte dato = new DatoReporte();
        String jpql = "select o from DatoReporte o where o.idReporteGenerar = :identificadorGenerador";
        Query q = getEntityManager().createQuery(jpql);
        q.setParameter("identificadorGenerador", identificadorGenerador);
        dato = (DatoReporte) q.getSingleResult();
        return dato;
    }

    public void setListaDatoReporte(List<DatoReporte> listaDatoReporte) {
        this.listaDatoReporte = listaDatoReporte;
    }

    public boolean isDatosExternos() {
        return datosExternos;
    }

    public void setDatosExternos(boolean datosExternos) {
        this.datosExternos = datosExternos;
    }

    public boolean isNuevaEntidad() {
        return nuevaEntidad;
    }

    public void setNuevaEntidad(boolean nuevaEntidad) {
        this.nuevaEntidad = nuevaEntidad;
    }
    
    
    
}
